Style এবং Resource Dictionary হল WPF (Windows Presentation Foundation) বা XAML ভিত্তিক অ্যাপ্লিকেশনে UI কাস্টমাইজেশন এবং রিসোর্স পরিচালনার জন্য ব্যবহৃত শক্তিশালী টুলস। এগুলি ব্যবহার করে আপনি অ্যাপ্লিকেশনের বিভিন্ন UI উপাদানের (যেমন বাটন, টেক্সটবক্স, ইত্যাদি) স্টাইল এবং রিসোর্সগুলো সেন্ট্রালাইজডভাবে এবং পুনরায় ব্যবহারযোগ্যভাবে পরিচালনা করতে পারেন।
এই টিউটোরিয়ালে Style এবং Resource Dictionary এর মৌলিক ব্যবহার এবং এর সুবিধা নিয়ে আলোচনা করা হয়েছে।
Style হল একটি XAML ট্যাগ যা নির্দিষ্ট UI উপাদানগুলির জন্য ডিফল্ট বা কাস্টমাইজড স্টাইল প্রয়োগ করতে ব্যবহৃত হয়। এটি UI উপাদানগুলির মধ্যে সাধারন প্রপার্টি সেটিং (যেমন, ব্যাকগ্রাউন্ড, ফন্ট, মার্জিন, প্যাডিং ইত্যাদি) সংজ্ঞায়িত করে এবং একাধিক উপাদানে একই স্টাইল প্রয়োগ করতে সাহায্য করে।
Style সাধারণত Button
, TextBox
ইত্যাদি UI উপাদানের জন্য সংজ্ঞায়িত করা হয়। নিচে একটি বেসিক স্টাইল উদাহরণ দেওয়া হলো:
<Window x:Class="StyleExample.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Style Example" Height="350" Width="525">
<Window.Resources>
<!-- Button এর জন্য স্টাইল -->
<Style x:Key="CustomButtonStyle" TargetType="Button">
<Setter Property="Background" Value="SkyBlue"/>
<Setter Property="Foreground" Value="White"/>
<Setter Property="FontSize" Value="16"/>
<Setter Property="Padding" Value="10,5"/>
<Setter Property="Margin" Value="5"/>
</Style>
</Window.Resources>
<Grid>
<!-- Button এ Custom স্টাইল প্রয়োগ -->
<Button Content="Click Me" Style="{StaticResource CustomButtonStyle}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Grid>
</Window>
এখানে:
TargetType="Button"
দিয়ে স্টাইলটি বাটন উপাদানের জন্য প্রযোজ্য করা হয়েছে।{StaticResource CustomButtonStyle}
এর মাধ্যমে।Resource Dictionary হল একটি XAML ফাইল বা ব্লক যেখানে বিভিন্ন রিসোর্স (যেমন স্টাইল, কালার, ব্রাশ, টেমপ্লেট ইত্যাদি) রাখা হয়। এটি বিভিন্ন UI উপাদান বা অ্যাপ্লিকেশনের মধ্যে শেয়ার করা যেতে পারে। যখন একাধিক উপাদানে একই রিসোর্স দরকার হয়, তখন Resource Dictionary ব্যবহার করা হয়।
Resource Dictionary সাধারণত Window.Resources
বা Application.Resources
ব্লকের মধ্যে রাখা হয়। এটি একটি অ্যাপ্লিকেশনে সাধারণত একাধিক রিসোর্স সেন্ট্রালাইজডভাবে ব্যবস্থাপনা করার জন্য ব্যবহৃত হয়।
<Application x:Class="ResourceDictionaryExample.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml">
<Application.Resources>
<!-- স্টাইল এবং রিসোর্স রাখা -->
<ResourceDictionary>
<Style x:Key="PrimaryButtonStyle" TargetType="Button">
<Setter Property="Background" Value="DarkBlue"/>
<Setter Property="Foreground" Value="White"/>
<Setter Property="FontSize" Value="14"/>
<Setter Property="Padding" Value="8,4"/>
</Style>
<SolidColorBrush x:Key="ButtonBrush" Color="RoyalBlue"/>
</ResourceDictionary>
</Application.Resources>
</Application>
এখানে, একটি Resource Dictionary এ দুটি রিসোর্স (স্টাইল এবং ব্রাশ) সংজ্ঞায়িত করা হয়েছে। অ্যাপ্লিকেশনটি যখন শুরু হয়, তখন এই রিসোর্সগুলো অ্যাপ্লিকেশনের যেকোনো অংশে ব্যবহার করা যাবে।
<Button Content="Click Me" Style="{StaticResource PrimaryButtonStyle}" Background="{StaticResource ButtonBrush}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
এখানে, PrimaryButtonStyle
এবং ButtonBrush
রিসোর্সগুলি StaticResource ডিক্লারেশন ব্যবহার করে Button এ প্রয়োগ করা হয়েছে।
Style এবং Resource Dictionary হল XAML ভিত্তিক অ্যাপ্লিকেশন ডিজাইনে UI কাস্টমাইজেশনের গুরুত্বপূর্ণ অংশ। Style ব্যবহার করে একাধিক UI উপাদানের মধ্যে একে অপরের সাদৃশ্য বজায় রাখা যায়, আর Resource Dictionary ব্যবহার করে একই রিসোর্স অ্যাপ্লিকেশনের বিভিন্ন জায়গায় শেয়ার করা সম্ভব হয়। এর মাধ্যমে অ্যাপ্লিকেশনের UI কোড আরও পরিষ্কার, সংহত এবং পুনঃব্যবহারযোগ্য হয়।
common.read_more